Westinghouse unfortunately uses DOORS Tables alot due to importing from Word....The attachment they sent shows some Views they are trying to do via DXL...I think they are using filtering to do what they want, but for some reason they want a DXL script to do it for some reason....I looked in the DXL library to see if anything close existed, but didn't find any...Based upon your experiences do you know of any DXL that might exist?...They said they were at some show and saw defense contractor have some???? Forwarded by Jim Hays/Columbus/IBM on 11/13/2009 12:11 PM From: "August, Thomas W." <augusttw@westinghouse.com> To: Jim Hays/Columbus/IBM@IBMUS Date: 11/12/2009 05:04 PM Subject: Hi Jim, Thanks for helping. I am looking for a DXL that can be used to create partial views of a table without changing modifying the actual table. Please attached examples. Thomas W. August Requirements Engineering Westinghouse Nuclear Services - RRAS 600 Cranberry Woods Drive Cranberry TWP, PA 16066 Phone: (412) 374-3855 Email: augusttw@westinghouse.com Home Page: http://worldwide.westinghousenuclear.com/NuclearServices/A3f.asp SystemAdmin - Mon Nov 16 15:23:11 EST 2009 |
Re: I am looking for a DXL that can be used to create partial views of a table
From looking at your view it appears they are using a filter to select cells.
Object o
filtering off
// following loop only accesses displayed objects
// cycle through all displayed objects
for o in current Module do
{ bool accepted = false
Link l
for l in o->"*" do
{ // accept o if any out going links
accept o
accepted = true
break
}
if (!accepted)
{ reject o // no outgoing links, reject o
}
}
filtering on
|
Re: I am looking for a DXL that can be used to create partial views of a table This is really more of an exercise in filtering than DXL. You will need to use the DOORS filtering tool to define a filtering equation that will only show you specific table cells, rows, columns, whatever. As this equation could be complex, you may need to use the filter tool in Advanced mode. There are no specific built-in filtering equations just for DOORS tables, so you will have to define an equation based on some sort of module object attribute criteria. You will need to create one or more object attributes that will be specifically used to manually enter some data that will categorise each cell of a table - remembering that each cell of a DOORS table is effectively the same as any other DOORS module object, except for the fact that they are displayed on the screen in a 2 dimensional structure. A filter can then be defined using those attributes to only show table cells that match your categorisation criteria. Once your happy with the filter equations, you can then create module views with the "Filtering" option enabled so that the view will execute that filter whenever it is selected. So no DXL really required here unless you want to provide some sort of GUI for users to build up their own filter expression based on the categorisation attributes that I mentioned above. Paul Miller |
Re: I am looking for a DXL that can be used to create partial views of a table
It looks like they want to see the entire row of a table if any of its cells qualify, in this case with no data. Otherwise hide the entire row.
bool DoesCellQualify(Object obj)
{ // Determine if the obj, which is a cell, qualifies for showing.
// You add your code here, returning true of false
} // end DoesCellQualify()
Object obj, oCell
bool Qualifies
for obj in entire mod do
{ if (cell(obj)) {} // do nothing, let Row logic figure this out
elseif (isVisible(obj)) accept obj
elseif (table(obj)) accept obj
elseif (!row(obj)) reject obj
else
{ // Row object.
Qualifies = false
for oCell in obj do
{ Qualifies = Qualifies or DoesCellQualify(oCell)
}
for oCell in obj do
{ if (Qualified)
accept oCell
else reject oCell
} // end dispose of cells in the row
} // end dealing with a row
} // end for all objects
current = mod
filtering(on)
|
Re: I am looking for a DXL that can be used to create partial views of a table llandale - Mon Nov 16 18:32:58 EST 2009
It looks like they want to see the entire row of a table if any of its cells qualify, in this case with no data. Otherwise hide the entire row.
bool DoesCellQualify(Object obj)
{ // Determine if the obj, which is a cell, qualifies for showing.
// You add your code here, returning true of false
} // end DoesCellQualify()
Object obj, oCell
bool Qualifies
for obj in entire mod do
{ if (cell(obj)) {} // do nothing, let Row logic figure this out
elseif (isVisible(obj)) accept obj
elseif (table(obj)) accept obj
elseif (!row(obj)) reject obj
else
{ // Row object.
Qualifies = false
for oCell in obj do
{ Qualifies = Qualifies or DoesCellQualify(oCell)
}
for oCell in obj do
{ if (Qualified)
accept oCell
else reject oCell
} // end dispose of cells in the row
} // end dealing with a row
} // end for all objects
current = mod
filtering(on)
"table row" and "table column" which will calculate the row and column of the current cell. Afterwards you can use the DXL attribute values in your filters. Regards, Mathias |